package org.itboys.mobile.util.SMS;

import com.baidubce.auth.DefaultBceCredentials;
import com.baidubce.services.sms.SmsClient;
import com.baidubce.services.sms.SmsClientConfiguration;
import com.baidubce.services.sms.model.SendMessageV2Request;
import com.baidubce.services.sms.model.SendMessageV2Response;

import java.util.HashMap;
import java.util.Map;

/**
 * 作者：zzq
 * 时间：2018/1/24
 * 描述：百度云sms短信服务
 */
public class BaiduSMSUtil {

    static final String endPoint = "http://sms.bj.baidubce.com"; // SMS服务域名，可根据环境选择具体域名
    static final String accessKeyId = "b36c10f37e9c4295be5fab8cae3e7ed2";  // 发送账号安全认证的Access Key ID
    static final String secretAccessKy = "1b07f759dccb4205b24f262720a12658"; // 发送账号安全认证的Secret Access Key

    static final String invokeId = "ttGHiyJ7-86t3-4RQg"; // 发送使用签名的调用ID    加盟网
    //static final String invokeId = "ttGHiyJ7-86t3-q8gW"; // 发送使用签名的调用ID   普今网

    static final String templateCode = "smsTpl:e7476122a1c24e37b3b0de19d04ae900"; // 本次发送使用的模板Code



    public static void sundaySendSms(String mobile,String code){
        SmsClientConfiguration config = new SmsClientConfiguration();
        config.setCredentials(new DefaultBceCredentials(accessKeyId, secretAccessKy));
        config.setEndpoint(endPoint);
        // 实例化发送客户端
        SmsClient smsClient = new SmsClient(config);
        // 定义请求参数
        String phoneNumber = mobile; // 要发送的手机号码(只能填写一个手机号)
        Map<String, String> vars = new HashMap<String, String>(); // 若模板内容为：您的验证码是${code}
        vars.put("code",code);
        //实例化请求对象
        SendMessageV2Request request = new SendMessageV2Request();
        request.withInvokeId(invokeId)
                .withPhoneNumber(phoneNumber)
                .withTemplateCode(templateCode)
                .withContentVar(vars);
        // 发送请求
        SendMessageV2Response response = smsClient.sendMessage(request);
        // 解析请求响应 response.isSuccess()为true 表示成功
        if (response != null && response.isSuccess()) {
            System.out.println(response.getCode());
            //  submit success
        } else {
            System.out.println(response.getCode()+"*******"+response.getMessage());
        }
    }
    public static void main(String[] args) {
        // 相关参数定义
      /*  String endPoint = "http://sms.bj.baidubce.com"; // SMS服务域名，可根据环境选择具体域名
        String accessKeyId = "b36c10f37e9c4295be5fab8cae3e7ed2";  // 发送账号安全认证的Access Key ID
        String secretAccessKy = "1b07f759dccb4205b24f262720a12658"; // 发送账号安全认证的Secret Access Key
        // ak、sk等config
        SmsClientConfiguration config = new SmsClientConfiguration();
        config.setCredentials(new DefaultBceCredentials(accessKeyId, secretAccessKy));
        config.setEndpoint(endPoint);

        // 实例化发送客户端
        SmsClient smsClient = new SmsClient(config);

        // 定义请求参数
        String invokeId = "ttGHiyJ7-86t3-4RQg"; // 发送使用签名的调用ID
        String phoneNumber = "13755759454"; // 要发送的手机号码(只能填写一个手机号)
        String templateCode = "smsTpl:e7476122a1c24e37b3b0de19d04ae900"; // 本次发送使用的模板Code
        Map<String, String> vars = new HashMap<String, String>(); // 若模板内容为：您的验证码是${code}
        vars.put("code", "5555");

//实例化请求对象
        SendMessageV2Request request = new SendMessageV2Request();
        request.withInvokeId(invokeId)
                .withPhoneNumber(phoneNumber)
                .withTemplateCode(templateCode)
                .withContentVar(vars);

// 发送请求
        SendMessageV2Response response = smsClient.sendMessage(request);

// 解析请求响应 response.isSuccess()为true 表示成功
        if (response != null && response.isSuccess()) {
            System.out.println(response.getCode());
            //  submit success
        } else {
            System.out.println(response.getCode()+"*******"+response.getMessage());
        }*/
    }
}
